home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
fifth21.arc
/
ASM.FIV
< prev
next >
Wrap
Text File
|
1986-04-24
|
28KB
|
1,225 lines
CREATE X
CREATE Y
EDIT
: y
base @ 16 base ! over c@ . base ! 1+ ;
~UP
CREATE THEN
EDIT
: then ['] endif execute ; immediate
~UP
CREATE 0<>
EDIT
: 0<> 0= not ;
~UP
CREATE -ROT
EDIT
: -ROT
stack abc|cab
;
~UP
CREATE ROT
EDIT
: ROT
stack abc|bca
;
~UP
CREATE 2DUP
EDIT
: 2dup
stack ab|abab
;
~UP
CREATE NIP
EDIT
: nip stack ab|b ;
~UP
CREATE ON
EDIT
\ Pure guess work
: on -1 swap ! ;
~UP
CREATE OFF
EDIT
\ Pure guess work
: off 0 swap ! ;
~UP
CREATE WITHIN
EDIT
\ (value min max - flag)
: within
stack abc|abac 1+ < >r 1- > r> and
;
~UP
CREATE 8086
CREATE REG
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
8 base !
: REG 11 * SWAP 1000 * OR CONSTANT ;
~UP
CREATE AL
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 0 reg al
~UP
CREATE CL
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 1 reg cl
~UP
CREATE DL
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 2 reg dl
~UP
CREATE BL
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 3 reg bl
~UP
CREATE AH
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 4 reg ah
~UP
CREATE CH
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 5 reg ch
~UP
CREATE DH
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 6 reg dh
~UP
CREATE BH
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 0 REGS AL CL DL BL AH CH DH BH
0 7 reg bh
~UP
CREATE AX
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 0 reg ax
~UP
CREATE CX
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 1 reg cx
~UP
CREATE DX
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 2 reg dx
~UP
CREATE BX
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 3 reg bx
~UP
CREATE SP
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 4 reg sp
~UP
CREATE BP
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 5 reg bp
~UP
CREATE SI
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 6 reg si
~UP
CREATE DI
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 1 REGS AX CX DX BX SP BP SI DI
1 7 reg di
~UP
CREATE [BX+SI]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 0 reg [bx+si]
~UP
CREATE [BX+DI]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 1 reg [bx+di]
~UP
CREATE [BP+SI]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 2 reg [bp+si]
~UP
CREATE [BP+DI]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 3 reg [bp+di]
~UP
CREATE [SI]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 4 reg [si]
~UP
CREATE [DI]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 5 reg [di]
~UP
CREATE [BP]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 6 reg [bp]
~UP
CREATE [BX]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 10 2 REGS [BX+SI] [BX+DI] [BP+SI] [BP+DI] [SI] [DI] [BP] [BX]
2 7 reg [bx]
~UP
CREATE [SI+BX]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
2 0 reg [si+bx]
~UP
CREATE [DI+BX]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
2 1 reg [di+bx]
~UP
CREATE [SI+BP]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
2 2 reg [si+bp]
~UP
CREATE [DI+BP]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 2 REGS [SI+BX] [DI+BX] [SI+BP] [DI+BP]
2 3 reg [di+bp]
~UP
CREATE ES
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 3 REGS ES CS SS DS
3 0 reg es
~UP
CREATE CS
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 3 REGS ES CS SS DS
3 1 reg cs
~UP
CREATE SS
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 3 REGS ES CS SS DS
3 2 reg ss
~UP
CREATE DS
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 4 3 REGS ES CS SS DS
3 3 reg ds
~UP
CREATE #
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 3 4 REGS # #) S#)
4 0 reg #
~UP
CREATE #)
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 3 4 REGS # #) S#)
4 1 reg #)
~UP
CREATE S#)
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
\ : REGS ( MODE N -- ) SWAP 0 DO DUP I REG LOOP DROP ;
\ 3 4 REGS # #) S#)
4 2 reg s#)
~UP
CREATE RP
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
BP CONSTANT RP ( RETURN STACK POINTER )
~UP
CREATE [RP]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
[BP] CONSTANT [RP] ( RETURN STACK POINTER )
~UP
CREATE IP
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
SI CONSTANT IP ( INTERPRETER POINTER )
~UP
CREATE [IP]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
[SI] CONSTANT [IP] ( INTERPRETER POINTER )
~UP
CREATE W
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
BX CONSTANT W ( WORKING REGISTER )
~UP
CREATE [W]
EDIT
\ 8086 Assembler Register Definitions 11OCT83HHL
[BX] CONSTANT [W] ( WORKING REGISTER )
~UP
CREATE MD
EDIT
\ Addressing Modes 16Oct83map
8 base !
: MD CREATE 1000 * , DOES> @ SWAP 7000 AND = 0<> ;
~UP
CREATE R8?
EDIT
\ Addressing Modes 16Oct83map
0 MD R8?
~UP
CREATE R16?
EDIT
\ Addressing Modes 16Oct83map
1 MD R16?
~UP
CREATE MEM?
EDIT
\ Addressing Modes 16Oct83map
2 MD MEM?
~UP
CREATE SEG?
EDIT
\ Addressing Modes 16Oct83map
3 MD SEG?
~UP
CREATE #?
EDIT
\ Addressing Modes 16Oct83map
4 MD #?
~UP
CREATE REG?
EDIT
\ Addressing Modes 16Oct83map
8 base !
: REG? ( n -- f ) 7000 AND 2000 < 0<> ;
~UP
CREATE BIG?
EDIT
\ Addressing Modes 16Oct83map
8 base !
: BIG? ( N -- F ) ABS -200 AND 0<> ;
~UP
CREATE RLOW
EDIT
\ Addressing Modes 16Oct83map
8 base !
: RLOW ( n1 -- n2 ) 7 AND ;
~UP
CREATE RMID
EDIT
\ Addressing Modes 16Oct83map
8 base !
: RMID ( n1 -- n2 ) 70 AND ;
~UP
CREATE SIZE
EDIT
\ Addressing Modes 16Oct83map
VARIABLE SIZE SIZE ON
~UP
CREATE BYTE
EDIT
\ Addressing Modes 16Oct83map
: BYTE ( -- ) SIZE OFF ;
~UP
CREATE OP,
EDIT
\ Addressing Modes 16Oct83map
: OP, ( N OP -- ) OR C, ;
~UP
CREATE W,
EDIT
\ Addressing Modes 16Oct83map
: W, ( OP MR -- ) R16? 1 AND OP, ;
~UP
CREATE SIZE,
EDIT
\ Addressing Modes 16Oct83map
: SIZE, ( OP -- OP' ) SIZE @ 1 AND OP, ;
~UP
CREATE ,/C,
EDIT
\ Addressing Modes 16Oct83map
: ,/C, ( n f -- ) IF , ELSE C, THEN ;
~UP
CREATE RR,
EDIT
\ Addressing Modes 16Oct83map
8 base !
: RR, ( MR1 MR2 -- ) RMID SWAP RLOW OR 300 OP, ;
~UP
CREATE LOGICAL
EDIT
\ Addressing Modes 16Oct83map
VARIABLE LOGICAL
~UP
CREATE B/L?
EDIT
\ Addressing Modes 16Oct83map
: B/L? ( n -- f ) BIG? LOGICAL @ OR ;
~UP
CREATE MEM,
EDIT
\ Addressing 16Oct83map
8 base !
: MEM, ( DISP MR RMID -- ) OVER #) =
IF RMID 6 OP, DROP ,
ELSE RMID OVER RLOW OR -ROT [BP] = OVER 0= AND
IF SWAP 100 OP, C, ELSE SWAP OVER BIG?
IF 200 OP, , ELSE OVER 0=
IF C, DROP ELSE 100 OP, C,
THEN THEN THEN THEN ;
~UP
CREATE WMEM,
EDIT
\ Addressing 16Oct83map
: WMEM, ( DISP MEM REG OP -- ) OVER W, MEM, ;
~UP
CREATE R/M,
EDIT
\ Addressing 16Oct83map
: R/M, ( MR REG -- )
OVER REG? IF RR, ELSE MEM, THEN ;
~UP
CREATE WR/SM,
EDIT
\ Addressing 16Oct83map
: WR/SM, ( R/M R OP -- ) 2 PICK DUP REG?
IF W, RR, ELSE DROP SIZE, MEM, THEN SIZE ON ;
~UP
CREATE INTER
EDIT
\ Addressing 16Oct83map
VARIABLE INTER
~UP
CREATE FAR
EDIT
\ Addressing 16Oct83map
: FAR ( -- ) INTER ON ;
~UP
CREATE ?FAR
EDIT
\ Addressing 16Oct83map
8 base !
: ?FAR ( n1 -- n2 ) INTER @ IF 10 OR THEN INTER OFF ;
~UP
CREATE 1MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
: 1MI CREATE C, DOES> C@ C, ;
~UP
CREATE 2MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
8 base !
: 2MI CREATE C, DOES> C@ C, 12 C, ;
~UP
CREATE 3MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
8 base !
: 3MI CREATE C, DOES> C@ C, HERE - 1-
DUP -200 177 WITHIN NOT ABORT" Branch out of Range" C, ;
~UP
CREATE 4MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
: 4MI CREATE C, DOES> C@ C, MEM, ;
~UP
CREATE 5MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
: 5MI CREATE C, DOES> C@ SIZE, SIZE ON ;
~UP
CREATE 6MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
: 6MI CREATE C, DOES> C@ SWAP W, ;
~UP
CREATE 7MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
8 base !
: 7MI CREATE C, DOES> C@ 366 WR/SM, ;
~UP
CREATE 8MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
8 base !
: 8MI CREATE C, DOES> C@ SWAP R16? 1 AND OR SWAP # =
IF C, C, ELSE 10 OR C, THEN ;
~UP
CREATE 9MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
8 base !
: 9MI CREATE C, DOES> C@ OVER R16?
IF 100 OR SWAP RLOW OP, ELSE 376 WR/SM, THEN ;
~UP
CREATE 10MI
EDIT
\ Defining Words to Generate Op Codes 08MAY84HHL
8 base !
: 10MI CREATE C, DOES> C@ OVER CL =
IF NIP 322 ELSE 320 THEN WR/SM, ;
~UP
CREATE 11MI
EDIT
\ Defining Words to Generate Op Codes 27JAN86GEB
8 base !
: 11MI CREATE C, C, DOES> OVER REG?
IF 377 C, C@ 1 AND
IF 340 ELSE 320 THEN SWAP RLOW OP,
ELSE OVER #) = IF NIP C@ INTER @
IF 1 AND IF 352 ELSE 232 THEN C, SWAP , ,
ELSE SWAP HERE - 2- SWAP 2DUP 1 AND SWAP BIG? NOT AND
IF 2 OP, C, ELSE C, 1- , THEN THEN
ELSE 377 C, 1+ C@ ?FAR R/M, THEN THEN ;
~UP
CREATE 12MI
EDIT
\ Defining Words to Generate Op Codes 27JAN86GEB
8 base !
: 12MI CREATE C, C, C, DOES> OVER REG?
IF C@ SWAP RLOW OP, ELSE 1+ OVER SEG?
IF C@ RLOW SWAP RMID OP,
ELSE COUNT SWAP C@ C, MEM, THEN THEN ;
~UP
CREATE 13MI
EDIT
\ Defining Words to Generate Op Codes 09Apr84map
8 base !
: 13MI CREATE C, C, DOES> COUNT >R C@ LOGICAL ! DUP REG?
IF OVER REG?
IF R> OVER W, SWAP RR, ELSE OVER DUP MEM? SWAP #) = OR
IF R> 2 OR WMEM, ELSE ( # ) NIP DUP RLOW 0= ( ACC? )
IF R> 4 OR OVER W, R16? ,/C,
ELSE OVER B/L? OVER R16? 2DUP AND
-ROT 1 AND SWAP NOT 2 AND OR 200 OP,
SWAP RLOW 300 OR R> OP, ,/C,
THEN THEN THEN
ELSE ( MEM ) ROT DUP REG?
IF R> WMEM,
ELSE ( # ) DROP 2 PICK B/L? DUP NOT 2 AND 200 OR SIZE,
-ROT R> MEM, SIZE @ AND ,/C, SIZE ON
THEN THEN ;
~UP
CREATE 14MI
EDIT
\ Defining Words to Generate Op Codes 27JAN86GEB
8 base !
: 14MI CREATE C, DOES> C@
DUP ?FAR C, 1 AND 0= IF , THEN ;
~UP
CREATE TEST
EDIT
\ Instructions 14MAY84RKG
8 base !
: TEST ( source dest -- ) DUP REG?
IF OVER REG?
IF 204 OVER W, SWAP RR, ELSE OVER DUP MEM? SWAP #) = OR
IF 204 WMEM, ELSE ( # ) NIP DUP RLOW 0= ( ACC? )
IF 250 OVER W,
ELSE 366 OVER W, DUP RLOW 300 OP,
THEN R16? ,/C, THEN THEN
ELSE ( MEM ) ROT DUP REG?
IF 204 WMEM,
ELSE ( # ) DROP 366 SIZE, 0 MEM, SIZE @ ,/C, SIZE ON
THEN THEN ;
~UP
CREATE ESC
EDIT
\ Instructions 16Oct83map
16 BASE !
: ESC ( source ext-opcode -- ) RLOW 0D8 OP, R/M, ;
~UP
CREATE INT
EDIT
\ Instructions 16Oct83map
16 BASE !
: INT ( N -- ) 0CD C, C, ;
~UP
CREATE SEG
EDIT
\ Instructions 16Oct83map
16 BASE !
: SEG ( SEG -- ) RMID 26 OP, ;
~UP
CREATE XCHG
EDIT
\ Instructions 16Oct83map
16 BASE !
: XCHG ( MR1 MR2 -- ) DUP REG?
IF DUP AX =
IF DROP RLOW 90 OP, ELSE OVER AX =
IF NIP RLOW 90 OP, ELSE 86 WR/SM, THEN THEN
ELSE ROT 86 WR/SM, THEN ;
~UP
CREATE CS:
EDIT
\ Instructions 16Oct83map
16 BASE !
: CS: CS SEG ;
~UP
CREATE DS:
EDIT
\ Instructions 16Oct83map
16 BASE !
: DS: DS SEG ;
~UP
CREATE ES:
EDIT
\ Instructions 16Oct83map
16 BASE !
: ES: ES SEG ;
~UP
CREATE SS:
EDIT
\ Instructions 16Oct83map
16 BASE !
: SS: SS SEG ;
~UP
CREATE MOV
EDIT
\ Instructions 18APR83HHL
16 BASE !
: MOV ( S D -- ) DUP SEG?
IF 8E C, R/M, ELSE DUP REG?
IF OVER #) = OVER RLOW 0= AND
IF A0 SWAP W, DROP , ELSE OVER SEG?
IF SWAP 8C C, RR, ELSE OVER # =
IF NIP DUP R16? SWAP RLOW OVER 8 AND OR B0 OP, ,/C,
ELSE 8A OVER W, R/M, THEN THEN THEN
ELSE ( MEM ) ROT DUP SEG?
IF 8C C, MEM, ELSE DUP # =
IF DROP C6 SIZE, 0 MEM, SIZE @ ,/C,
ELSE OVER #) = OVER RLOW 0= AND
IF A2 SWAP W, DROP , ELSE 88 OVER W, R/M,
THEN THEN THEN THEN THEN SIZE ON ;
~UP
CREATE AAA
EDIT
\ Instructions 12Oct83map
16 BASE !
37 1MI AAA
~UP
CREATE AAD
EDIT
\ Instructions 12Oct83map
16 BASE !
D5 2MI AAD
~UP
CREATE AAM
EDIT
\ Instructions 12Oct83map
16 BASE !
D4 2MI AAM
~UP
CREATE AAS
EDIT
\ Instructions 12Oct83map
16 BASE !
3F 1MI AAS
~UP
CREATE ADC
EDIT
\ Instructions 12Oct83map
16 BASE !
0 10 13MI ADC
~UP
CREATE ADD
EDIT
\ Instructions 12Oct83map
16 BASE !
0 00 13MI ADD
~UP
CREATE ADD
EDIT
\ Instructions 12Oct83map
16 BASE !
0 00 13MI ADD
~UP
CREATE AND
EDIT
\ Instructions 12Oct83map
16 BASE !
2 20 13MI AND
~UP
CREATE CALL
EDIT
\ Instructions 12Oct83map
16 BASE !
10 E8 11MI CALL
~UP
CREATE CBW
EDIT
\ Instructions 12Oct83map
16 BASE !
98 1MI CBW
~UP
CREATE CLC
EDIT
\ Instructions 12Oct83map
16 BASE !
F8 1MI CLC
~UP
CREATE CLD
EDIT
\ Instructions 12Oct83map
16 BASE !
FC 1MI CLD
~UP
CREATE CLI
EDIT
\ Instructions 12Oct83map
16 BASE !
FA 1MI CLI
~UP
CREATE CMC
EDIT
\ Instructions 12Oct83map
16 BASE !
F5 1MI CMC
~UP
CREATE CMP
EDIT
\ Instructions 12Oct83map
16 BASE !
0 38 13MI CMP
~UP
CREATE CMPS
EDIT
\ Instructions 12Oct83map
16 BASE !
A6 5MI CMPS
~UP
CREATE CWD
EDIT
\ Instructions 12Oct83map
16 BASE !
99 1MI CWD
~UP
CREATE DAA
EDIT
\ Instructions 12Oct83map
16 BASE !
27 1MI DAA
~UP
CREATE DAS
EDIT
\ Instructions 12Oct83map
16 BASE !
2F 1MI DAS
~UP
CREATE DEC
EDIT
\ Instructions 12Oct83map
16 BASE !
08 9MI DEC
~UP
CREATE DIV
EDIT
\ Instructions 12Oct83map
16 BASE !
30 7MI DIV
~UP
CREATE HLT
EDIT
\ Instructions 12Oct83map
16 BASE !
F4 1MI HLT
~UP
CREATE IDIV
EDIT
\ Instructions 12Oct83map
16 BASE !
38 7MI IDIV
~UP
CREATE IMUL
EDIT
\ Instructions 12Oct83map
16 BASE !
28 7MI IMUL
~UP
CREATE IN
EDIT
\ Instructions 12Oct83map
16 BASE !
E4 8MI IN
~UP
CREATE INC
EDIT
\ Instructions 12Oct83map
16 BASE !
00 9MI INC
~UP
CREATE INTO
EDIT
\ Instructions 12Oct83map
16 BASE !
0CE 1MI INTO
~UP
CREATE IRET
EDIT
\ Instructions 12Oct83map
16 BASE !
0CF 1MI IRET
~UP
CREATE JA
EDIT
\ Instructions 12Oct83map
16 BASE !
77 3MI JA
~UP
CREATE JAE
EDIT
\ Instructions 12Oct83map
16 BASE !
73 3MI JAE
~UP
CREATE JB
EDIT
\ Instructions 12Oct83map
16 BASE !
72 3MI JB
~UP
CREATE JBE
EDIT
\ Instructions 12Oct83map
16 BASE !
76 3MI JBE
~UP
CREATE JCXZ
EDIT
\ Instructions 12Oct83map
16 BASE !
E3 3MI JCXZ
~UP
CREATE JE
EDIT
\ Instructions 12Oct83map
16 BASE !
74 3MI JE
~UP
CREATE JG
EDIT
\ Instructions 12Oct83map
16 BASE !
7F 3MI JG
~UP
CREATE JGE
EDIT
\ Instructions 12Oct83map
16 BASE !
7D 3MI JGE
~UP
CREATE JL
EDIT
\ Instructions 12Oct83map
16 BASE !
7C 3MI JL
~UP
CREATE JLE
EDIT
\ Instructions 12Oct83map
16 BASE !
7E 3MI JLE
~UP
CREATE JMP
EDIT
\ Instructions 12Oct83map
16 BASE !
20 E9 11MI JMP
~UP
CREATE JNE
EDIT
\ Instructions 12Oct83map
16 BASE !
75 3MI JNE
~UP
CREATE JNO
EDIT
\ Instructions 12Oct83map
16 BASE !
71 3MI JNO
~UP
CREATE JNS
EDIT
\ Instructions 12Oct83map
16 BASE !
79 3MI JNS
~UP
CREATE JO
EDIT
\ Instructions 12Oct83map
16 BASE !
70 3MI JO
~UP
CREATE JPE
EDIT
\ Instructions 12Oct83map
16 BASE !
7A 3MI JPE
~UP
CREATE JPO
EDIT
\ Instructions 12Oct83map
16 BASE !
7B 3MI JPO
~UP
CREATE JS
EDIT
\ Instructions 12Oct83map
16 BASE !
78 3MI JS
~UP
CREATE LAHF
EDIT
\ Instructions 12Oct83map
16 BASE !
9F 1MI LAHF
~UP
CREATE LDS
EDIT
\ Instructions 12Oct83map
16 BASE !
C5 4MI LDS
~UP
CREATE LEA
EDIT
\ Instructions 12Oct83map
16 BASE !
8D 4MI LEA
~UP
CREATE LES
EDIT
\ Instructions 12Oct83map
16 BASE !
C4 4MI LES
~UP
CREATE LOCK
EDIT
\ Instructions 12Oct83map
16 BASE !
F0 1MI LOCK
~UP
CREATE LODS
EDIT
\ Instructions 12Oct83map
16 BASE !
0AC 6MI LODS
~UP
CREATE LOOP
EDIT
\ Instructions 12Oct83map
16 BASE !
E2 3MI LOOP
~UP
CREATE LOOPE
EDIT
\ Instructions 12Oct83map
16 BASE !
E1 3MI LOOPE
~UP
CREATE LOOPNE
EDIT
\ Instructions 12Oct83map
16 BASE !
E0 3MI LOOPNE
~UP
CREATE MOVS
EDIT
\ Instructions 12Apr84map
16 BASE !
0A4 5MI MOVS
~UP
CREATE MUL
EDIT
\ Instructions 12Apr84map
16 BASE !
20 7MI MUL
~UP
CREATE NEG
EDIT
\ Instructions 12Apr84map
16 BASE !
18 7MI NEG
~UP
CREATE NOP
EDIT
\ Instructions 12Apr84map
16 BASE !
90 1MI NOP
~UP
CREATE NOT
EDIT
\ Instructions 12Apr84map
16 BASE !
10 7MI NOT
~UP
CREATE OR
EDIT
\ Instructions 12Apr84map
16 BASE !
2 08 13MI OR
~UP
CREATE OUT
EDIT
\ Instructions 12Apr84map
16 BASE !
E6 8MI OUT
~UP
CREATE POP
EDIT
\ Instructions 12Apr84map
16 base !
8F 07 58 12MI POP
~UP
CREATE POPF
EDIT
\ Instructions 12Apr84map
16 base !
9D 1MI POPF
~UP
CREATE PUSH
EDIT
\ Instructions 12Apr84map
16 base !
0FF 36 50 12MI PUSH
~UP
CREATE PUSHF
EDIT
\ Instructions 12Apr84map
16 base !
9C 1MI PUSHF
~UP
CREATE RCL
EDIT
\ Instructions 12Apr84map
16 base !
10 10MI RCL
~UP
CREATE RCR
EDIT
\ Instructions 12Apr84map
16 base !
18 10MI RCR
~UP
CREATE REP
EDIT
\ Instructions 12Apr84map
16 base !
F2 1MI REP
~UP
CREATE REPNZ
EDIT
\ Instructions 12Apr84map
16 base !
F2 1MI REPNZ
~UP
CREATE REPZ
EDIT
\ Instructions 12Apr84map
16 base !
F3 1MI REPZ
~UP
CREATE RET
EDIT
\ Instructions 12Apr84map
16 base !
C3 14MI RET
~UP
CREATE ROL
EDIT
\ Instructions 12Apr84map
16 base !
00 10MI ROL
~UP
CREATE ROR
EDIT
\ Instructions 12Apr84map
16 base !
8 10MI ROR
~UP
CREATE SAHF
EDIT
\ Instructions 12Apr84map
16 base !
9E 1MI SAHF
~UP
CREATE SAR
EDIT
\ Instructions 12Apr84map
16 base !
38 10MI SAR
~UP
CREATE SBB
EDIT
\ Instructions 12Apr84map
16 base !
0 18 13MI SBB
~UP
CREATE SCAS
EDIT
\ Instructions 12Apr84map
16 base !
0AE 5MI SCAS
~UP
CREATE SHL
EDIT
\ Instructions 12Apr84map
16 base !
20 10MI SHL
~UP
CREATE SHR
EDIT
\ Instructions 12Apr84map
16 base !
28 10MI SHR
~UP
CREATE STC
EDIT
\ Instructions 12Apr84map
16 base !
F9 1MI STC
~UP
CREATE STD
EDIT
\ Instructions 12Apr84map
16 base !
FD 1MI STD
~UP
CREATE STI
EDIT
\ Instructions 12Apr84map
16 base !
FB 1MI STI
~UP
CREATE STOS
EDIT
\ Instructions 12Apr84map
16 base !
0AA 6MI STOS
~UP
CREATE SUB
EDIT
\ Instructions 12Apr84map
16 base !
0 28 13MI SUB
~UP
CREATE WAIT
EDIT
\ Instructions 12Apr84map
16 base !
9B 1MI WAIT
~UP
CREATE XLAT
EDIT
\ Instructions 12Apr84map
16 base !
D7 1MI XLAT
~UP
CREATE XOR
EDIT
\ Instructions 12Apr84map
16 base !
2 30 13MI XOR
~UP
CREATE +RET
EDIT
\ Instructions 12Apr84map
16 base !
C2 14MI +RET
~UP
EDIT
: 8086 ( Swap hi/lo halfs)
[ \ Dive straight into assembly - turn compiler off
0 [bp] ax mov \ Move [bp+0] to ax
ax 2 [bp] xchg \ Exchange ax and [bp+2]
ax 0 [bp] mov \ Move ax to [bp+0]
] \ note mixing FORTH and ASSEMBLY - turn compiler on
dup . \ Print the result
;
~UP
EDIT
~UP
ABORT